作者|Chilia
哥伦比亚大学搜索推荐
整理
目前,大多数CTR模型采用Embedding和Feature Interaction(以下简称FI )体系结构,如下图所示。
在目前的大多数研究中,更复杂的网络用于更好地捕获显式或隐式「特征交互」,包括Wide Deep的Wide部分、DCN的CrossNet和DIN注意机制另一个主要部分「Embedding模块」同样重要的原因有两个:
1 )嵌入式模块为FI模块的「上游模块」,直接影响FI模块的效果;
2 ) CTR模型的许多参数是嵌入式模块(巨大的嵌入式表! 对模型效果有非常重要的影响。
但是,嵌入式模块很少做特别是对连续特征嵌入式的深入研究。 现有处理方式由于是其硬离散化方式,因此通常是suffer from low model capacity。 本文提出的AutoDis框架具有高模型容量、端到端训练和单次优化。
华为在KDD'21上提出了自动dis框架
An Embedding Learning Framework for Numerical Features in CTR Prediction[1]
它已经用于华为主流广告平台,在线A/B测试提高了CTR的2.1%和eCPM(effective cost per mille )的2.7%。
1、连续特征处理CTR估计模型的输入一般包括连续特征和离散特征两部分。 对于离散特征,嵌入式look-up操作通常会将其转换为相应的嵌入式。 然后,我们将讨论谷歌对离散特征嵌入式的改进)。
对连续特征的处理可归纳为无嵌入式、现场嵌入式、离散化3种。
1.1否嵌入式否嵌入式是指不对连续特征进行嵌入式操作,而保留原始数值。 例如,谷歌播放的Wide Deep将原始值直接用作输入; 另一方面,在Youtube DNN中,将原始值转换为平方、根号等进行输入。
对这种连续特征不进行嵌入式的方法,由于模型容量有限,通常难以有效地捕捉连续特征中的信息。
1.2 fieldembeddingfieldembedding是指,无论同一字段采用哪个值,都共享同一嵌入式,并将特征值乘以相应的嵌入式输入作为模型。
其中,field embedding。
由于使用同一field的特征「共享」同一embedding,并基于不同的可能值对embedding进行3358www.Sina.com/,所以这种方法的表达能力也受到限制
1.3离散化离散化离散化连续特征是工业界最常用的方法。 这种方法通常分为两个阶段:首先将连续特征转换为对应的「缩放」,然后在「离散值」将其转换为对应的嵌入式。
首先讨论一个问题,为什么需要将连续的特征离散化呢? 还是离散化为什么会带来比通常更好的效果? 关于这个问题的探讨,可以参考知乎
问题:
- https://www.zhihu.com/question/31989952/answer/54184582
总的来说,将连续特征进行离散化给模型「引入了非线性」,能够「提升模型表达能力」,而对于离散化的方式,常用的有以下几种:
1) EDD/EFD (Equal Distance/Frequency Discretization):即等宽/等深分箱。对于等宽分箱,首先基于特征的最大值和最小值、以及要划分的桶的个数 ,来计算每个样本取值要放到哪个箱子里。
对于等深分箱,则是基于数据中特征的频次进行分桶,每个桶内特征取值的个数是大致相同的。
2)LD (Logarithm Discretization):对数离散化,其计算公式如下:
3)TD (Tree-based Discretization):基于树模型的离散化,如使用GBDT+LR来将连续特征分到不同的节点。这就完成了离散化。
「离散化方法的缺点:」
TPP (Two-Phase Problem):将特征分桶的过程一般使用启发式的规则(如EDD、EFD)或者其他模型(如GBDT),无法与CTR模型进行一起优化,即「无法做到端到端」训练;
SBD (Similar value But Dis-similar embedding):对于边界值,两个相近的取值由于被分到了不同的桶中,导致其embedding可能相差很远;
DBS (Dis-similar value But Same embedding):对于同一个桶中的边界值,两边的取值可能相差很远,但由于在同一桶中,其对应的embedding是完全相同的。
上述的三种局限可以通过下图进一步理解:
SBD: 40和41岁没有多大区别,但是却有完全不同的embedding;DBS: 18和40岁差距甚远,但是embedding却一模一样!
1.4 总结
上述三种对于连续特征的处理方式的总结如下表所示:
可以看到,无论是何种方式,都存在一定的局限性。而本文提出了AutoDis框架,具有「高模型容量」、「端到端训练」,「每个特征取值具有独立表示」的特点,接下来对AutoDis进行介绍。
2、AutoDis介绍
AutoDis的全称为「Auto」matic end-to-end embedding learning framework for numerical features based on soft 「dis」cretization.
AutoDis是一种pluggable embedding framework,可以和现有的深度结构很好的兼容:
Autodis用于做连续特征的embedding,如图中的Age和Height
为了实现高模型容量、端到端训练,每个特征取值具有独立表示,AutoDis设计了三个核心的模块,分别是「Meta-Embeddings、automatic Discretization和 Aggregation」模块。
2.1 Meta-Embeddings
为了提升model capacity,一种朴素的处理连续特征的方式是给每一个特征取值赋予一个独立的embedding。显然,这种方法参数量巨大(因为你可以有无穷个连续特征取值!),无法在实践中进行使用。另一方面,Field Embedding对同一域内的特征赋予相同的embedding,尽管降低了参数数量,但model capacity也受到了一定的限制。
为了平衡参数数量和模型容量,AutoDis设计了Meta-embedding模块: 对于第 个连续特征,对应 个Meta-Embedding(可以看作是分 个桶,每一个桶对应一个embedding)。第j个特征的Meta-Embedding表示为:
对于连续特征的一个具体取值,则是通过一定方式将这 个embedding进行聚合。相较于Field Embedding这种每个field只对应一个embedding的方法,AutoDis中每一个field对应 个embedding,提升了模型容量;同时,参数数量也可以通过 进行很好的控制。
2.2 Automatic Discretization
Automatic Discretization模块可以对连续特征进行「自动的离散化」,实现了「离散化过程的端到端训练」。具体来说,对于第 个连续特征的具体取值 ,首先通过两层神经网络进行转换,得到 长度的向量。下图的例子假设有41个特征,每个特征分配 个桶
最后得到的 需要经过某种softmax变成概率分布:
传统的离散化方式是将特征取值分到某一个具体的桶中,即对每个桶的概率进行「argmax」,但这是一种无法进行梯度回传的方式,是硬离散化。而上式可以看作是一种软离散化(soft discretization)。对于温度系数 ,当其接近于0时,得到的分桶概率分布接近于one-hot,当其接近于无穷时,得到的分桶概率分布近似于均匀分布。这种方式也称为softargmax。
至此,我们得到了 个桶的embedding以及概率分布。
2.3 Aggregation Function
根据前两个模块,已经得到了每个桶的embedding,以及某个特征取值对应分桶的probability distribution,接下来则是如何选择合适的Aggregation Function对二者进行「聚合」。论文提出了如下几种方案:
Max-Pooling:这种方式即「hard」 selection的方式,选择概率最大的分桶对应的embedding。前面也提到,这种方式会遇到SBD和DBS的问题。
Top-K-Sum:将概率最大的K个分桶对应的embedding,进行sum-pooling。这种方式不能从根本上解决DBS的问题,同时得到的最终embedding也没有考虑到具体的概率取值。
Weighted-Average:根据每个分桶的概率对分桶embedding进行加权求和,这种方式确保了每个不同的特征取值都能有其对应的embedding表示。同时,相近的特征取值往往得到的分桶「概率分布也是相近的」,那么其得到的embedding也是相近的,可以有效解决SBD和DBS的问题。
所以,其实就是对 个桶的embedding进行加权求和。
2.4 模型训练
模型的训练过程同一般的CTR过程相似,采用二分类的logloss指导模型训练,损失如下:
3、实验结果及分析
最后来看一下实验结果,离线和线上均取得了一点微小的提升:
那么,AutoDis是否有效解决了SBD和DBS的问题呢?实验结果也印证了这一点:
右图:等深分箱,不同的取值都是分开的点,没有相似度的联系;左图:Autodis,相似的取值聚在一起,说明端到端的方法把握了数值的相似性
本文参考资料
[1]
An Embedding Learning Framework for Numerical Features in CTR Prediction: https://arxiv.org/pdf/2012.08986.pdf
- END -
数据不平衡问题都怎么解?
2021-11-29
自然语言处理「迷惑行为大赏」第二季
2021-11-28
2021 互联网公司时薪排行榜出炉!微软、美团很不错
2021-11-27
2W字长文 | 漫谈工业界图神经网络推荐系统
2021-11-26